# -*- coding:utf-8 -*-

from django.shortcuts import render,HttpResponse
from django.db.models import Q
from web import models
import json

# Create your views here.

def index(request):
    if request.method == 'POST':
        dic = request.POST
        # print(dic)  #<QueryDict: {u'username': [u'user1,user3'], u'age': [u'123']}>
        '''Q查询
        先创建一个整体Q，字典中每一个key是一个表字段，每个key创建一个Q，这个Q中的查询关系是or
        在每个key的循环里，循环用户输入的多个值，添加到这个key的Q()里，最后是and查询关系
        通过models根据整体Q的查询条件，进行数据库查询
        查询结果返回给ajax回调函数，进行前端显示'''
        con = Q()
        for key,value in dic.items():
            q = Q()
            q.connector = 'OR'
            for v in value.strip().split(','):
                q.children.append((key,v))
            con.add(q,'AND')
        # print con   #(AND: (OR: (u'username', u'user1'), (u'username', u'user3')), (u'age', u'18'))
        # print models.UserInfo.objects.filter(con)   #[<UserInfo: UserInfo object>]
        select_obj = models.UserInfo.objects.filter(con)
        return HttpResponse(select_obj)
    return render(request,'index.html')